Inspector V2 の ECR 拡張スキャンで、特定のリポジトリのみスキャンをする制限の方法を教えてください。
困っていた内容
ECR にて複数のリポジトリがございますのが、特定のリポジトリのみ Inspector v2 の ECR 拡張スキャンでスキャンをしたいため、制限する方法を教えてください。
どう対応すればいいの?
レポジトリ名のフィルター機能を利用して特定のリポジトリのみ制限することができます。
以下の方法でフィルターすることができます。
1. マネジメントコンソール
Amazon Container Services → Amazon ECR → Private registry → Scanning
上記の操作でスキャン設定画面に行き、「連続スキャンフィルター」もしくは「プッシュフィルターのスキャン」を選択して、フィルターを設定します。
既存のリポジトリをフィルターする場合は、「連続スキャンフィルター」を設定します。
連続スキャンフィルター:継続的に脆弱性のスキャンするリポジトリのためのフィルター
プッシュフィルターのスキャン:イメージプッシュ時に脆弱性のスキャンするリポジトリのためのフィルター
2. AWS CLI v2
put-registry-scanning-configuration
のコマンドで設定することができます。
aws ecr put-registry-scanning-configuration \ --scan-type ENHANCED \ --rules '[{"repositoryFilters" : [{"filter":"<value>","filterType" : "WILDCARD"}],"scanFrequency" : "CONTINUOUS_SCAN"}]'
指定するオプションは以下になります。
- scan-type:
BASIC
(基本スキャン)、ENHANCED
(拡張スキャン) - rules:
- repositoryFilters:filter(フィルターするキーワード)、filterType(フィルターのキーワードの種類)
- scanFrequency:
ENHANCED
→CONTINUOUS_SCAN
またはSCAN_ON_PUSH
BASIC
→SCAN_ON_PUSH
またはMANUAL
- repositoryFilters:filter(フィルターするキーワード)、filterType(フィルターのキーワードの種類)
やってみた
マネジメントコンソールで ECR のリポジトリのフィルター設定をしていきたいと思います。
今回は2つのリポジトリ(prod
、dev
)から prod
のみがスキャン対象となるように設定していきます。
-
まずは、フィルターする前の状態を Inspector V2 より、確認します。
prod
とdev
が Enable になっています。
-
Inspector の画面に戻り、スキャンが Enable になっているリポジトリを確認すると
prod
のみになっており、フィルターで制限がかかっていることを示しています。